/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package threeds.DAO;

import java.sql.SQLException;
import java.util.ArrayList;
import threeds.Model.Projetista;
/**
 *
 * @author Eduardo
 */
public class ProjetistaDAO {
    
        private Banco b = new Banco();
            
        public boolean add(Projetista p){
        String sql = "INSERT INTO projetista VALUES('" +
            p.getNome()+ "', '" +
            p.getEMail()+ "', '" +
            p.getSenha()+  "');";
        
        try{
           b.abrirConexao();
           b.inserir(sql);
           System.out.println("adicionando o projetista!");
           b.fecharConexao();
           return true;
        }
        catch(Exception e){
            System.out.println("Erro adicionando o projetista!" + e);
            return false;
        }
    }
        public boolean atualizar(Projetista p){
            
        String sql = "UPDATE projetista SET nome = '" + p.getNome() +"', senha = '" + p.getSenha() +"' "+
                    " WHERE e_mail = '" + p.getEMail()+"'";
      System.out.println(sql);
            
        try{
            b.abrirConexao();
            b.executar(sql);
            b.fecharConexao();
            return true;
        }
        catch(Exception e){
            System.out.println("Erro durante a atualização do projetista!" + e);
            return false;
        }
    }
        
    public boolean excluir(Projetista p){
        String sql = "DELETE FROM projetista WHERE e_mail = '" + p.getEMail()+"'";
        
        try{
            b.abrirConexao();
            b.executar(sql);
            b.fecharConexao();
            return true;
        }
        catch(Exception e){
            System.out.println("Erro durante a exclusão do material!" + e);
            return false;
        }
    }
    
    public ArrayList<Projetista> ListarProjetistas(){
        ArrayList<Projetista> lista = new ArrayList<Projetista>();
        Projetista p;
        try{
            
            String sql = "SELECT  nome, e_mail" +
                   " FROM projetista ";

           b.abrirConexao();
           b.consultar( sql );
           while( b.getRs().next() ){
               p = new Projetista();
               p.setNome(b.getRs().getString("nome"));
               p.setEMail(b.getRs().getString("e_mail"));
               System.out.println(""+p.getEMail()+" "+p.getNome());
               lista.add(p);
           }
           b.fecharConexao();
          
           return lista;
        }
        catch(SQLException e){
            System.out.println("Erro gerando a lista de projetistas!" + e);
            return lista;
        }

    }

    
    public Projetista encontrarPeloEMail(Projetista p){
        try{
           b.abrirConexao();
           String sql = "SELECT nome, e_mail, senha FROM projetista WHERE e_mail = '" + p.getEMail() +"' AND senha = '" + p.getSenha()+"'";
           b.consultar( sql );
          // b.getRs().next();
           b.getRs().next();
               p.setNome(b.getRs().getString("nome"));
               System.out.println("nome --- "+b.getRs().getString("nome"));
               b.fecharConexao();
               return p;
                      
        }
        catch(SQLException e){
            System.out.println("Erro tentando encontrar um projetista com o email!" + e);
            return null;
        }
    }
    
    
}
